0

在我的 Rails 应用程序中,我需要使用 app/assets 在最终视图中实现 javascript 和 jQuery 代码。为了创建控制器,我手动创建了调用程序tweets_controller.rb而不运行 rails generate 控制器。我很困惑在哪里编写我的 javascript 和 jQuery 代码并使其在 Rails 最终视图中可用。

我对两个搜索按钮的最终看法

%=form_tag({controller: 'tweets', action:'index'},  method: "get") do %>
<%=label_tag(:search, "Search for:") %>
<%=text_field_tag(:text) %>
<%=label_tag(:show, "Show for:") %>
<%=text_field_tag(:show) %>
<%= submit_tag( "GO" ) %>
<% end %>

我显示结果的最终视图

<%= will_paginate @tweets %>

<% @tweets.each do |tweets| %>
<ul>
  <li><%= tweets.id %></li>
  <li><%= tweets.tweet_created_at %></li>
  <li><%= tweets.tweet_text %></li>
  <li><%= tweets.user_id %></li>
  <li><%= tweets.user_name %></li>
  <li><%= tweets.user_loc %></li>
  <li><%= tweets.user_img %></li>
  <li><%= tweets.longitude %></li>
  <li><%= tweets.latitude %></li>
  <li><%= tweets.place %></li>
  <li><%= tweets.country %></li>
</ul>
<% end %>

由于我手动创建了我应该创建一个名为tweets.jsinapp/assets/javascripts文件夹的文件,如果是这样,我应该如何使其在视图中可用。请帮忙

4

2 回答 2

0

添加文件夹并将其包含在视图tweets.jsapp/assets/javascripts

<% javascript_include_tag "tweets" %>

在这里查看更多

于 2013-08-30T06:17:32.263 回答
0

您可以使用 javascript_include_tag 在视图(或布局文件)中包含脚本,但您也可以使用 rails assets 管道。

如果您使用的是开箱即​​用的 application.js 文件 (app/assets/javascript/application.js),那么通过将您的 tweets.js 放在 app/assets/javascript/ 中,您的代码应该被编译到应用程序中.js 然后可用于您的所有视图。这是因为默认情况下,application.js 包含此目录中的所有文件(require_tree 指令)。

这一切都在这里解释。

要选择最适合您需求的选项,我建议您阅读此内容

于 2013-08-30T09:06:47.667 回答