<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>lilixiaocc (Li Wang)</title>
    <link>https://ruby-china.org/lilixiaocc</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>如何对一个页面中所有的 field 进行单独操作</title>
      <description>&lt;p&gt;大家好，我是 ror 的新手，最近在做一个 project，目的是创造一个打印界面，在一个 printout 上打出好几个 printout fields
我有两个 model，一个 printout.rb, &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;has_many&lt;/span&gt; &lt;span class="ss"&gt;:printout_fields&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;另一个是 printout_field.rb，&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:printout&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;数据库如下：
printout：&lt;img src="https://l.ruby-china.com/photo/2016/b117fbcb412a3cc667610d4162a6a22e.png!large" title="" alt=""&gt;
printout_field: &lt;img src="https://l.ruby-china.com/photo/2016/dab20508bbdaad52e80980b389c0f2f2.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;我要做的就是有个网页，
&lt;img src="https://l.ruby-china.com/photo/2016/d63db6dd031124a56e20cd337a327673.png!large" title="" alt=""&gt;，
你可以按 new printout，这样就会出现一个新的界面，里面输入你想要的 printout 的信息，如名字和位置。这里我都还可以&lt;/p&gt;

&lt;p&gt;但是接下来是要在每个 printout 里面加入一个一个 field，首先是按 new fields，进入这个页面，&lt;img src="https://l.ruby-china.com/photo/2016/a941a24d48cd15596140ab4d5c7b1170.png!large" title="" alt=""&gt;
这里可以在 url 看到对应的 printout 的 id，比如说你是按得第一条 infant 这个 printout 里面的 new fields，就会让你在 printout_id = 1 这个界面中来进行添加。我每次填入信息到这个界面中以后都会按 create，这会通过 form 来提交，然后按 view fields 就可以看到自己输入的所有 fields，这些 fields 都属于同一个 printout。然后我们退回到最开始的 printout 页面，里面有个 edit fields，就是要对所有产生的 fields 来进行操作，如果按下，会有如下效果
&lt;img src="https://l.ruby-china.com/photo/2016/e56f37e61ae92353bab132c6a8be0bec.png!large" title="" alt=""&gt;
我可以移动这些 fields，通过 jquery ui 的 draggable，然后也可以右击对他们进行修改。但是下面就是问题了&lt;/p&gt;

&lt;p&gt;在我的 manage_printout_field controller 里面，在 edit action 中，我用&lt;a href="/printoutfield" class="user-mention" title="@printoutfield"&gt;&lt;i&gt;@&lt;/i&gt;printoutfield&lt;/a&gt; = PrintoutField.find(params[:id]) 并不能找到 &lt;a href="/printoutfield" class="user-mention" title="@printoutfield"&gt;&lt;i&gt;@&lt;/i&gt;printoutfield&lt;/a&gt;，错误显示为&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Couldn&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="n"&gt;find&lt;/span&gt; &lt;span class="no"&gt;PrintoutField&lt;/span&gt; &lt;span class="n"&gt;without&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="no"&gt;ID&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;只有打&lt;a href="/printoutfield" class="user-mention" title="@printoutfield"&gt;&lt;i&gt;@&lt;/i&gt;printoutfield&lt;/a&gt; = PrintoutField.find(1),才能取到 printout_field_id 是 1 的这个 field，而当右击准备修改的时候，每个 field 所对应的默认值都是 id 是 1 的这个 field 的值，这个我知道是因为我 hard code 了 id 是 1，但是我想知道我如何在 edit?printout_id=1 的这个页面上来对每个 field 可以进行操作。  &lt;/p&gt;

&lt;p&gt;我觉得我的 controller 并没有办法获得这个 parameter，我也试了很多不同的名字，都行不通，有什么办法可以动态的来操作这个界面？
谢谢！！&lt;/p&gt;</description>
      <author>lilixiaocc</author>
      <pubDate>Sat, 16 Jul 2016 04:17:08 +0800</pubDate>
      <link>https://ruby-china.org/topics/30546</link>
      <guid>https://ruby-china.org/topics/30546</guid>
    </item>
  </channel>
</rss>
