描述
我有下面的工作代码。
用户单击链接,generate_html_table生成插入到#id中的HTML。
问题
我想用partials来改变generate_html_table。我怎么才能拿到呢?
,我怎么试的,
但即使是现在,静态文本也不起作用。
发布于 2012-11-17 04:14:58
看起来,控制器中有视图代码,当您将属于视图的代码放入视图时,您应该摆脱generate_html_table方法,并将其留给get_posts.js.erb,这样就可以清楚地知道您正在偏离轨道。
问题的第二部分中的get_posts.js.erb似乎是正确的,我在前面的视图代码中没有看到插入该代码的#in,您是否检查过直接调用ajax以消除ajax部分中的问题?(比如没有加载jquery-ujs或任何您正在使用的不引人注目的javascript平台)。我也没有看到任何处理remote的代码,因此从调用返回的javascript可能没有被使用。
我的建议是:
generate_html_tableself.posts.order("published desc"))集中在控制器中,这确实属于控制器。ajax:success回调以在#in中插入html。发布于 2012-11-17 05:22:07
您可以尝试更多地使用js模板。
这里的问题是,你混合了很多的责任,试着把它们再划分一些。
示例:
控制器:
可以将order移动到模型中的作用域中。
def get_posts
@posts = Feed.find(params[:id]).order("published desc")
respond_to do | format |
format.js
end
end模型:
generate_html_table方法。视图:
在视图模板中实现旧的generate_html_table
<div id="in">
<table>
<% @posts.each do |p| %>
<tr>
<td> <%= j (link_to p.title, p.link) %> </td>
<td><%= j p.published.to_s %> </td>
</tr>
<% end %>
</table>
</div>注意:还没有测试过这段代码,但是这样的代码应该可以工作。
https://stackoverflow.com/questions/13427467
复制相似问题