小编Mar*_*ear的帖子

使用嵌套属性动态添加rails中的字段

我正处于创建应用程序的早期阶段,我只是将一些基本代码放在适当的位置.这是当前的代码......

应用程序/视图/卡/ front.html.erb

<%= form_for(front_of_card_path) do |f| %>
  <%= f.fields_for :competency_templates do |builder| %>
    <%= render 'add_fields', f: builder %>
  <% end %>
  <%= link_to_add_fields "Add New Tag", f, :skill %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

路线

 controller :cards do
    get  '/front',            action: 'front',  as: 'front_of_card'
    post '/save',             action: 'create', as: 'save_card'
    get  '/my_contact_info',  action: 'back',   as: 'back_of_card'
    put  '/save',             action: 'update', as: 'save_card'
    get  '/my_card',          action: 'show',   as: 'card'
  end
Run Code Online (Sandbox Code Playgroud)

调节器

  def create
    @skill= Skill.new(params[:skill])
    @tag = Tag.new(params[:tag])
    @tag.save
    @skill.tag_id = …
Run Code Online (Sandbox Code Playgroud)

javascript ruby-on-rails

10
推荐指数
1
解决办法
2万
查看次数

Rails postgres 使用 --database=postgresql 时的默认数据库用户

我觉得我应该知道这一点,但我不知道!

--database=postgresql使用database.yml创建新的rails应用程序时,如下所示:

...
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: big_bustas_development
...
Run Code Online (Sandbox Code Playgroud)

现在我可以执行各种rails db:create...迁移...等操作,而无需显式配置数据库用户和密码。Rails 使用什么 postgres 凭据来完成此操作?

postgresql ruby-on-rails

8
推荐指数
1
解决办法
2934
查看次数

将 Rails 应用程序推送到 heroku 给我错误:错误:0308010C:数字信封例程::不支持

我有一个 Rails 7.x 应用程序,我试图推送到 heroku 并收到此错误:

remote:        Running: rake assets:precompile
remote:        Compiling...
remote:        Compilation failed:
remote:        node:internal/crypto/hash:71
remote:          this[kHandle] = new _Hash(algorithm, xofLen);
remote:                          ^
remote:
remote:        Error: error:0308010C:digital envelope routines::unsupported
remote:            at new Hash (node:internal/crypto/hash:71:19)
remote:            at Object.createHash (node:crypto:133:10)
remote:            at module.exports (/tmp/build_b1f32be4/node_modules/webpack/lib/util/createHash.js:135:53)
remote:            at NormalModule._initBuildHash (/tmp/build_b1f32be4/node_modules/webpack/lib/NormalModule.js:417:16)
remote:            at handleParseError (/tmp/build_b1f32be4/node_modules/webpack/lib/NormalModule.js:471:10)
remote:            at /tmp/build_b1f32be4/node_modules/webpack/lib/NormalModule.js:503:5
remote:            at /tmp/build_b1f32be4/node_modules/webpack/lib/NormalModule.js:358:12
remote:            at /tmp/build_b1f32be4/node_modules/loader-runner/lib/LoaderRunner.js:373:3
remote:            at iterateNormalLoaders (/tmp/build_b1f32be4/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
remote:            at iterateNormalLoaders (/tmp/build_b1f32be4/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
remote:            at /tmp/build_b1f32be4/node_modules/loader-runner/lib/LoaderRunner.js:236:3
remote:            at context.callback (/tmp/build_b1f32be4/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
remote:            at /tmp/build_b1f32be4/node_modules/babel-loader/lib/index.js:44:71 { …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku

8
推荐指数
1
解决办法
2575
查看次数

测试一个数组的元素是否包含在另一个数组中

我有以下数组:

passing_grades = ["A", "B", "C", "D"]
student2434 = ["F", "A", "C", "C", "B"]
Run Code Online (Sandbox Code Playgroud)

我需要验证student数组中的所有元素都包含在passing_grades数组中.在上面的场景中,student2434将返回false.但是这个学生:

student777 = ["C", "A", "C", "C", "B"]
Run Code Online (Sandbox Code Playgroud)

会回来的true.我尝试过类似的东西:

if student777.include? passing_grades then return true else return false end
Run Code Online (Sandbox Code Playgroud)

没有成功.任何帮助表示赞赏.

ruby arrays

6
推荐指数
2
解决办法
127
查看次数

设计:用户所属组织

我正在使用设计进行身份验证,在"注册"页面上,我有一个"组织"文本字段,因此当用户注册时,他们将创建一个组织,我希望用户与该组织相关联(用户模型具有organization_id属性).我创建了设计视图,并为组织名称添加了fields_for.在我的模型中,我有User belongs_to:organization and Organization has_many:users(将有多个用户与组织关联).在没有修改控制器的情况下,我已经找不到尝试这样做的每一条路,但没有运气.请不要在不修改控制器的情况下建议这样做,除非你有一个示例应用程序,你已经实现了它,你可以指向它.

我已经创建了一个注册控制器,如下所示:覆盖设计注册控制器

我只是在控制器中抛出了一些put语句,我没有看到它们显示在控制台上,所以看起来我没有进入这个控制器.

我还将我的观点从app/view/devise/registrations复制到app/views/registrations,之后我的观点似乎来自外太空!我创建的组织字段不再显示,我似乎无法分辨加载视图的位置.

很抱歉没有更简洁,但我不知道该去哪里.

ruby-on-rails devise

5
推荐指数
1
解决办法
3453
查看次数

Rails 4:在控制器中将布局设置为false

在Rails 4应用程序中,我尝试将布局设置为falsenil.我在我的控制器内尝试了这个:

render :layout => false
Run Code Online (Sandbox Code Playgroud)

但是这给出了这个错误:

undefined method `render'.
Run Code Online (Sandbox Code Playgroud)

如何阻止此控制器使用默认布局文件?

ruby-on-rails ruby-on-rails-4

5
推荐指数
2
解决办法
4371
查看次数

从 MySQL 服务器查询 MS-SQL 服务器

我为一家大型组织工作,该组织拥有成熟且填充良好的 MS-SQL 服务器。但是,我不是 Microsoft 用户,我选择的数据库是 MySQL。我正在寻找一种解决方案,可以让我...

- 直接从我的 MySQL 服务器查询我们的 MS-SQL 服务器

和/或

- 设置某种作业,将数据从 MS-SQL 服务器系统地复制到我们的 MySQL 服务器。

看起来链接服务器可能是解决方案的一部分,但是我发现的所有内容都描述了 MS-SQL 访问 MySQL 的场景,而不是相反。

明确地说,我希望我的 MySQL 服务器与我的 MS-SQL 服务器对话/查询/提取数据。

任何帮助表示赞赏!

mysql sql-server

5
推荐指数
1
解决办法
5758
查看次数

AsciiDoc在列表块内添加粗体文本

有一些AsciiDoc有一个像...的块

----
  this is a test
    with *some* formatted/tabbed text in it
blah
----
Run Code Online (Sandbox Code Playgroud)

...我希望文字显示为...

  这是一个测验
    带有一些格式化/标签的文本
等等

...其中“ some”一词为粗体。

asciidoc asciidoctor

5
推荐指数
2
解决办法
904
查看次数

在 Ruby 中将哈希值作为参数传递

我有以下代码:

user = User.from_google(from_google_params)

  def from_google_params
    @from_google_params ||= {
      uid: auth.uid,
      email: auth.info.email,
      full_name: auth.info.name,
      avatar_url: auth.info.image
    }
  end
Run Code Online (Sandbox Code Playgroud)

...这是哈希值传递到的 from_google 方法。

def self.from_google(email:, full_name:, uid:, avatar_url:)
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到一个参数错误ArgumentError (wrong number of arguments (given 1, expected 0; required keywords: email, full_name, uid, avatar_url)):

这是我在控制台中看到的内容:

>> from_google_params.inspect
=> "{:uid=>\"100373362533979950619\", :email=>\"marklocklear@extension.org\", :full_name=>\"Mark Locklear\", :avatar_url=>\"https://lh3.googleusercontent.com/a-/AOh14Gh1leKarrW8SCvxxwvaAcDkAISXYQ38k4xPQuC1Rg=s96-c\"}"
>> from_google_params.class
=> Hash
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

ruby ruby-on-rails

5
推荐指数
1
解决办法
2560
查看次数

github和namecheap的域主机记录

我有一个带有namecheap的自定义域,我想重定向到我的github页面,该页面位于myuser.github.io.

我在namecheap的主机记录有'@'和'www'记录,IP为192.30.252.153.在我的github页面的根目录(在repo中)我有一个mydomain.com的cname记录.在文件中.当我在Web浏览器中浏览到我的自定义域时,我收到一条消息,指出无法找到github页面.

想法?我找到了一些关于设置的博客文章,但没有一个选项适合我.

web-hosting

4
推荐指数
1
解决办法
3278
查看次数